package com.qijian.maindata.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qijian.common.annotation.Excel;
import com.qijian.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.math.BigDecimal;

/**
 * 车间项目绩效对象 main_performance_summary
 *
 * @author qijian
 * @date 2024-08-29
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ToString
@TableName("main_performance_summary")
public class PerformanceSummary extends BaseEntity{
    private static final long serialVersionUID = 1L;

    @TableId
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "${column.columnComment}")
    private Long id;

    @Excel(name = "1车间/2项目")
    @ApiModelProperty(value = "1车间/2项目")
    private Integer dataType;

    @Excel(name = "项目经理")
    @ApiModelProperty(value = "项目经理")
    private String name;

    @Excel(name = "项目经理id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "项目经理id")
    private Long userId;

    @Excel(name = "年月")
    @ApiModelProperty(value = "年月")
    private String ym;

    @Excel(name = "部门id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "部门id")
    private Long deptId;

    @Excel(name = "部门")
    @ApiModelProperty(value = "部门")
    private String deptName;

    @Excel(name = "部门工价")
    @ApiModelProperty(value = "部门工价")
    private BigDecimal deptCost;

    @Excel(name = "部门工价")
    @ApiModelProperty(value = "部门工价")
    private BigDecimal basePerformance;

    @Excel(name = "派工金额")
    @ApiModelProperty(value = "派工金额")
    private BigDecimal totalPrice;

    @Excel(name = "当月整体绩效")
    @ApiModelProperty(value = "当月整体绩效")
    private BigDecimal monthPerformance;

    @Excel(name = "车间绩效/项目号绩效")
    @ApiModelProperty(value = "车间绩效/项目号绩效")
    private BigDecimal deptPerformance;

    @Excel(name = "扣款合计")
    @ApiModelProperty(value = "扣款合计")
    private BigDecimal debitAmount;

    @Excel(name = "理论绩效")
    @ApiModelProperty(value = "理论绩效")
    private BigDecimal theoryPerformance;

    @Excel(name = "最终绩效")
    @ApiModelProperty(value = "最终绩效")
    private BigDecimal finalPerformance;

    @Excel(name = "是否锁定 0 未锁定 1已经锁")
    @ApiModelProperty(value = "是否锁定 0 未锁定 1已经锁")
    private Boolean isLocked;

    @Excel(name = "锁定人")
    @ApiModelProperty(value = "锁定人")
    private String lockedBy;

    @Excel(name = "版本")
    @ApiModelProperty(value = "版本")
    private String version;

}
